package com.xiao.user.service.mapper;

import com.xiao.user.mapper.EntityMapper;
import com.xiao.user.model.User;
import com.xiao.user.model.dto.UserDto;
import org.mapstruct.*;


/**
 * @Mapper 注解的 componentModel 属性 componentModel 属性用于指定自动生成的接口实现类的组件类型，这个属性支持四个值：
 * default: 这是默认的情况，mapstruct 不使用任何组件类型, 可以通过Mappers.getMapper(Class)方式获取自动生成的实例对象。
 * cdi: the generated mapper is an application-scoped CDI bean and can be retrieved via @Inject
 * spring: 生成的实现类上面会自动添加一个@Component注解，可以通过Spring的 @Autowired方式进行注入
 * jsr330: 生成的实现类上会添加@javax.inject.Named 和@Singleton注解，可以通过 @Inject注解获取
 */
@Mapper(componentModel = "spring",
        uses = {},
        unmappedSourcePolicy = ReportingPolicy.IGNORE,
        unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface UserMapper extends EntityMapper<UserDto, User> {

}
